#include "RegistroDatosCargo.h"


RegistroDatosCargo::RegistroDatosCargo(){
	this->_descripcion = "";
	this->_idCargoHijo = -1;
}


RegistroDatosCargo::RegistroDatosCargo(char* dataBuffer){
	this->_serializador.desSerializar(dataBuffer, this->_id);
	this->_serializador.desSerializar(dataBuffer, this->_descripcion);
	this->_serializador.desSerializar(dataBuffer, this->_idCargoHijo);
}


RegistroDatosCargo::~RegistroDatosCargo(){
	this->_descripcion = "";
	this->_idCargoHijo = -1;
}


std::string RegistroDatosCargo::getDescripcion(){
	return this->_descripcion;
}


void RegistroDatosCargo::setDescripcion(std::string descrip){
	this->_descripcion = descrip;
}


unsigned long int RegistroDatosCargo::getIdCargoHijo(){
	return this->_idCargoHijo;
}


void RegistroDatosCargo::setIdCargoHijo(unsigned long int idHijo){
	this->_idCargoHijo = idHijo;
}


size_t RegistroDatosCargo::getSize(){
	size_t tam = sizeof(unsigned long int);
	tam += sizeof(unsigned long int) + this->_descripcion.size();
	tam += sizeof(unsigned long int);

	return tam;
}


void RegistroDatosCargo::pack(char* dataBuffer){
	this->_serializador.serializar(dataBuffer, this->_id);
	this->_serializador.serializar(dataBuffer, this->_descripcion);
	this->_serializador.serializar(dataBuffer, this->_idCargoHijo);
}

